package main

import "fmt"

//当业务逻辑一样，但是他们的传入的参数类型不一样时就可以使用泛型
func main() {

	//定义一个切片类型
	type Slice[T string | int] []T
	//对上面的类型进行初始化
	arr1 := Slice[string]{"xiaowang", "xiaocheng"}
	fmt.Println(arr1)

	//定义一个map的泛型类型
	type myMap[KEY string, VALUE int] map[KEY]VALUE
	//对上面的类型进行初始化
	map1 := myMap[string, int]{"go": 16, "c++": 15}
	fmt.Println(map1)
}
